﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartChess
{
    public class ChessMove
    {

        private int _playerId;
        public ChessMove() { }
        public ChessMove(int currentRow, int currentColumn)
        {
            CurrentRow = currentRow;
            CurrentColumn = currentColumn;
        }
        public ChessMove(int playerId, int currentRow, int currentColumn)
        {
            CurrentRow = currentRow;
            CurrentColumn = currentColumn;
            PlayerId = playerId;
        }
        public ChessMove(int playerId, bool check)
        {
            PlayerId = playerId;
            Check = check;
        }
        public ChessMove(int playerId, int currentRow, int currentColumn, int targetRow, int targetColumn)
        {
            CurrentRow = currentRow;
            CurrentColumn = currentColumn;
            TargetRow = targetRow;
            TargetColumn = targetColumn;
            PlayerId = playerId;
        }

        public int PlayerId
        {
            get
            {
                return _playerId;
            }
            set
            {
                _playerId = value;
            }
        }
        private int _pieceId;

        public int PieceId
        {
            get
            {
                return _pieceId;
            }
            set
            {
                _pieceId = value;
            }
        }
        private int _targetRow;
        public int TargetRow
        {
            get
            {
                return _targetRow;
            }
            set
            {
                _targetRow = value;
            }
        }
        private int _targetColumn;
        public int TargetColumn
        {
            get
            {
                return _targetColumn;
            }
            set
            {
                _targetColumn = value;
            }
        }
        private int _currentRow;
        public int CurrentRow
        {
            get
            {
                return _currentRow;
            }
            set
            {
                _currentRow = value;
            }

        }
        private int _currentColumn;
        public int CurrentColumn
        {
            get
            {
                return _currentColumn;
            }
            set
            {
                _currentColumn = value;
            }

        }
        private bool _check = false;
        public bool Check
        {
            get
            {
                return _check;
            }
            set
            {
                _check = value;
            }
        }

    }

}
